#ifndef CRENDERER_H
#define CRENDERER_H

#include "CSpriteManager.h"

#include <SDL.h>

class CRenderer
{
public:
	CRenderer(SDL_Surface* screen
		, CSpriteManager* sprite_manager
		, const size_t screenw
		, const size_t screenh
		, const size_t top_left_corner_map_x
		, const size_t top_left_corner_map_y)
		: Screen(screen)
		, SpriteManager(sprite_manager)
		, ScreenW(screenw)
		, ScreenH(screenh)
		, TopLeftCornerMapX(top_left_corner_map_x)
		, TopLeftCornerMapY(top_left_corner_map_y)
	{
	}
	virtual void DrawSprite(SpriteType t, size_t x, size_t y) = 0;
	virtual void Redraw() = 0;
protected:
	SDL_Surface *Screen;
	CSpriteManager *SpriteManager;

	size_t ScreenW;
	size_t ScreenH;
	size_t TopLeftCornerMapX;
	size_t TopLeftCornerMapY;
};

#endif // CRENDERER_H

